#!/bin/bash

######################## CONTROLLO ERRORI ##############################
if [[ $# != 4 ]]; then
    echo "ERRORE!: NUMERO DI PARAMETRI ERRATO!"
    echo "NUMERO ESATTO: 4"
    echo "uso corretto:"
    echo "$0 <FOLDER_NAME> <FILE INIZIALE> <N_NODI> <N_RUNS>"    
    exit 1
  fi

# PARAMETRI
  FN=$1
  IF=$2  
	NN=$3
	NR=$4

# VERIFICA DELL'ESISTENZA DEI FILE
	if [[ ! -x ./gen_mbn_params.sh  || ! -x $FN/mbn_evo || ! -f $IF ]]; then 
    echo "ERRORE!: MANCA IL FILE gen_params.sh oppure mbn_evo oppure mdl-rc-mm.txt !!!"
    exit 1
  fi  


	MUT_RANGE="0.1 0.25 0.5 0.75 1.0 1.25 1.5 2.0"
	CROSS_RANGE="0.0 0.25 0.5 0.75 1.0"

# doppio ciclo per mutazione e crossover
  for MP in $MUT_RANGE; do
		 for CP in $CROSS_RANGE; do         
     #  GENERAZIONE file dei parametri
        FILE_NAME=`./gen_mbn_params.sh $IF $CP $MP $NN`
     #  GESTIONE files
       echo $FILE_NAME   
				mv $FILE_NAME.txt $FN
        cd $FN 
     #  ESECUZIONE dei runs
        ./mbn_evo -n $NR -p $FILE_NAME.txt -r $FILE_NAME.dat
     #  CANCELLAZIONE file dei parametri generato e RITORNO alla folder superiore 
        rm  $FILE_NAME.txt  
        cd ..         
     done
  done

	exit 0

